Electronic data sorting has a history dating back to the first electronic computers. A sorting method generally takes a data set with a first permutation order and transforms the data set into a second permutation order designated by a user of the sorting method. A particular order is generally determined by an individual tag called a sorting key associated with each datum of the data set. For example, the sorting key may comprise, all of the datum, a part of the datum, or a separate datum associated with the datum. While numerous methods of sorting have been developed, useful new sorting algorithms are still being developed, and specially designed sorting methods may be useful for some applications.